fix(subsonic): update existing playlist in-place by passing playlistId - #226
Open
wzli wants to merge 1 commit into
Open
fix(subsonic): update existing playlist in-place by passing playlistId#226wzli wants to merge 1 commit into
wzli wants to merge 1 commit into
Conversation
wzli
force-pushed
the
fix/subsonic-pass-playlist-id-on-create
branch
from
August 13, 2026 02:54
12210da to
9229bbd
Compare
wzli
marked this pull request as draft
August 14, 2026 08:08
wzli
force-pushed
the
fix/subsonic-pass-playlist-id-on-create
branch
from
August 14, 2026 08:08
498538f to
195c0d3
Compare
wzli
force-pushed
the
fix/subsonic-pass-playlist-id-on-create
branch
from
August 14, 2026 08:34
195c0d3 to
0f3be74
Compare
wzli
force-pushed
the
fix/subsonic-pass-playlist-id-on-create
branch
from
August 14, 2026 08:38
0f3be74 to
4b1b007
Compare
wzli
force-pushed
the
fix/subsonic-pass-playlist-id-on-create
branch
from
August 14, 2026 08:42
4b1b007 to
9539140
Compare
wzli
marked this pull request as ready for review
August 14, 2026 08:47
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
In the Subsonic REST API specification,
createPlaylistis the standard endpoint for both creating and replacing playlist tracklists:playlistId, the server creates a new playlist entity.playlistId, the server updates the existing playlist in-place.Previously, Explo did not pass
playlistIdinCreatePlaylist()and instead invokedDeletePlaylist()prior to creation. This destructively deleted the playlist entity from the database on every sync, assigning a new playlist ID and breaking client applications (e.g. Symfonium, DSub) that track playlist IDs for favorites and delta sync.Solution
CreatePlaylist(), look up the existing playlist ID viaSearchPlaylist(). If found, passcreatePlaylist?playlistId=...&name=...to update the playlist tracklist in-place without altering its ID.main.go, skip pre-deleting the playlist forsubsonic(if cfg.ReplacePlaylist && cfg.System != "subsonic"), keepingDeletePlaylist()available on the Subsonic client interface.